home *** CD-ROM | disk | FTP | other *** search
/ Hacker 71 / HACKER71.ISO / Usluzni / WinAmp 2.76 / winamp276_full.exe / Plugins / in_midi.dll / TEXT / 114
Text File  |  2001-05-30  |  18KB  |  260 lines

  1.  * F * A * Q *
  2.  
  3. Q: I have a problem...
  4. A: Rule #1: don't panic. Use your brain. Read this doc carefully. If the plug-in seems to work incorrectly, go to http://pp666.cjb.net/midi.htm and get the latest update. If DirectMusic devices cause the problem, update your DirectX drivers - http://www.microsoft.com/directx/
  5.  
  6. Q: Winamp crashes / freezes when I try to play MIDI.
  7. A: Well, blame your sound card drivers for that. There are a few possible solutions:
  8.   (1) disable sampling (output tab)
  9.   (2) make sure that Winamp process priority class is set to 'normal' (in Winamp preferences / options), then select 'MIDI mapper / MCI' device - this is (almost) exact clone of the old MIDI plug-in code.
  10.   (3) select 'MIDI mapper' device (or any other midiOut device) and try switching between streamed / immediate modes.
  11.   (4) try ALL available devices; Microsoft synth is very likely to work (it doesn't use your MIDI hardware).
  12.  Note: if (2) doesn't work, then either the MIDI file that causes it is really damaged or your sound card drivers are seriously messed up.
  13.  
  14. Q: Winamp seems to play MIDI, but I can't hear anything.
  15. A1: Click "reset midiOut volume" in device tab.
  16. A2: Make sure that MIDI isn't muted in Windows' volume control.
  17. A3: Try all available devices, especially MCI and Microsoft synth.
  18. A4: Try various volume control options (device tab).
  19.  
  20. Q: I have SB16 ...
  21. A: Select Microsoft Synthesizer device (available only if you have DirectX 6.1 or higher installed).
  22.  
  23. Q: I have a problem with VIS...
  24. A: If you use MS synthesizer, enable 'play through Winamp's ouptut system'; otherwise enable 'sample data for VIS'.
  25.  
  26. Q: I get no error messages but VIS doesn't work and/or written WAVs contain silence; I use 'sample for VIS' option.
  27. A: Go to output / sampling / source and select where is your MIDI device connected (usually 'MIDI').
  28.  
  29. Q: How do I convert MIDI to WAV ?
  30. A: There are three ways:
  31.   (1) select Microsoft Synthesizer device, enable 'play through Winamp's ouptut system' and use some disk writer output plug-in (Nullsoft Disk Writer or my ACM WAV writer)
  32.    or
  33.   (2) enable sampling, enable 'use internal WAV writer' option and choose output directory for WAV files.
  34.    or
  35.   (3) enable sampling, enable 'send sampled data to output' and use the Disk Writer output plug-in
  36. I recommend setting mixing/sampling frequency to 44100 Hz while writing WAV.
  37. If you use sampling, output files contain exactly what you heard while writing; it's a good idea to disable all effects like reverb or chorus in your sound hardware in this case.
  38.  
  39. Q: I want to convert MIDI to WAV but my sound card doesn't allow me to record MIDI...
  40. A: See (1) above.
  41.  
  42. Q: What do all the volume control options do ?
  43. A: First option - 'none' - totally disables volume control. Second one - 'driver-specific' - sends volume change commands to MIDI drivers ( midiOutSetVolume(), IDirectMusicPerformance::SetVolume(), channel volume commands in immediate mode with alt. vol. setting enables ). It works with almost all devices, but it is known to do bad things on certain sound cards. Remaining options refer to Windows' mixer lines.
  44.  
  45. Q: I can't hear MIDI at all; even all other MIDI players I have produce silence since I installed Winamp.
  46. A: Click device tab / reset midiOut volume (takes immediate effect). Make sure that you DO NOT use 'driver-specific' volume setting mode.
  47.  
  48. Q: What are compressed MIDI files ?
  49. A: A compressed MIDI file is a ZIP, RAR, ARJ, or GZIP file containing one MIDI file. MIDI files compress very nicely so compressing them can be very useful and can save a lot of disk space. You can compress any of the supported MIDI formats. Use .MIZ file extension for all compressed MIDIs.  (Note, however, that most (if not all) other programs will be unable to play any of these compressed MIDIs.)
  50.  
  51. Q: Why can't the 'reverb' or 'chorus' options be enabled ?
  52. A: Because the currently selected port doesn't support it. At the moment only MS synth supports reverb; no port known to me supports chorus. You will be able to enable those effects on future hardware ports if they support it.
  53.  
  54. Q: Why does the plug-in refuse to load some HMP files ?
  55. A: There is some sort of 'compressed HMP' format. I've found those files in Whiplash / Fatal Racing. I have no idea how to decode them. I've managed to convert Fatal Racing HMPs to standard MIDI (don't ask how); if you really need them, email me.
  56.  
  57. Q: How do I create MIDI radio on my web page ?
  58. A: Upload some MIDI files (preferably compressed) to your web site, then create a playlist containing their URLs (not their local file paths on your computer) and upload it too; then put a link to the playlist on your web page.
  59.  
  60. Q: What is the optimal mixing frequency for MS synth ?
  61. A: Use 22k when you listen to MIDI with no extra stuff (custom DLS, reverb, etc.) enabled. All GM.DLS samples are 22k; 44k will be much slower and sound almost identical. Use 44k when you convert something to WAV for burning to an audio CD.
  62.  
  63. Q: What does looping do ?
  64. A: Looping enables you to listen continuously to one MIDI file without delays while restarting. Some files (HMI) contain loop start points; looping enables you to make them sound correct.
  65.  
  66. Q: How do I convert HMP/HMI/XMI/CMF/MUS to MID ?
  67. A: Open file info box (double-click on song title in Winamp window), then click on 'save...' button.
  68.  
  69. Q: I have 100 megs of MIDIs on my hdd and I want to compress them. Is there a program that will automatically compress all of my MIDIs ?
  70. A: Check http://pp666.cjb.net/misc.htm.
  71.  
  72. Q1: Where did Shogo / Blood 2 game music support go ?
  73. Q2: Can I play DirectMusic segment files (.sec, .sgt) ?
  74. Q3: Can I play Final Fantasy 8 music with this plug-in ?
  75. A: There is a separate plug-in for this stuff. Check http://pp666.cjb.net/misc.htm ("DirectMusic plug-in v1.5").
  76.  
  77. Q: How do I minimize CPU usage while playing MIDIs in the background ?
  78. A: If you don't need VIS, disable sampling and output. It will disable all Winamp 2.x - specific sound data processing and cut down CPU usage a lot.
  79.  
  80. Q: Can I do DSP / EQ with MIDI ?
  81. A: Yes. You can easily configure MS synth to use DSP (enable 'play through Winamp's output system'). Other MIDI devices will require more work (recommended for advanced users only): configure your sound card to record _directly_ from your MIDI synth (not 'what you hear'), mute your MIDI device, then enable sampling and 'send sampled data to DSP / output'.
  82.  
  83. Q: What does 'hardware setup' do ?
  84. A: It enables you to configure hardware-specific MIDI extensions (XG, GS, etc) using system-exclusive (sysex) commands. This is intended only for MIDI hardware geeks; it does nothing on most common MIDI devices (soundblasters, etc). Refer to your hardware documentation for more info about sysex commands.
  85.  
  86. Q: What's the difference between streamed and immediate midiOut modes ?
  87. A: They are two different MIDI players, based on midiOut (streamed mode uses midiStream* functions, immediate mode uses midiOutShortMsg/midiOutLongMsg). If your MIDI drivers are 100% OK, both modes will work almost identically. Streamed mode requires less CPU time (about 0.25% of my Athlon 700) and doesn't skip so badly when you use other programs. Immediate mode enables you to use alternate volume setting method which works on every midiOut device.
  88.  
  89. Q: MS synth skips a lot.
  90. A: Try enabling 'play through Winamp's output system' and 'experimental output mode' in output tab.
  91.  
  92. Q: I get "Unable to load MIDI file" error.
  93. A: The file that caused it is damaged, even if it does play in other players.
  94.  
  95. Q: The plug-in crashes Winamp at startup...
  96. A: How did you get here ? :) This bug seems gone but WTH... try removing read_file.dll, especially if you have a P3 CPU. Also try changing hack_no_dm to 1 in winamp.ini (this will totally disable DirectMusic support).
  97.  
  98. Q: What does the 'source' field in output/sampling do ?
  99. A: Selecting anything else than 'default' causes the plug-in to automatically select that data source when starting sampling.
  100.  
  101. Q: What's the difference between two output options - "play through Winamp's output system" and "experimental output mode" ?
  102. A: The first option is supposed to work with all sorts of DirectMusic software synths. The other one is more stable (faster, less skipping), but works only with SOME devices (tested with MS synth under DX 6/7/8 and Yamaha SoftSynth DM driver); use it at your own risk.
  103.  
  104. Q: What does 'reset midiOut volume' button do ?
  105. A: It resets volume for all midiOut devices found in your system. Use it when something sounds too quiet (or doesn't produce sound at all).
  106.  
  107. Q: What does 'show all DirectMusic devices' option do ?
  108. A: It shows all available DirectMusic output ports on the device list (and causes big mess because most of devices appear twice). Use it only for testing. Normally, the plug-in doesn't show DM devices that are available via midiOut and don't support DLS.
  109.  
  110. Q: How much space does the fractal animation take ?
  111. A: Very little. Less than this text file.
  112.  
  113. Q: How do I convert WAV/MP3 do MIDI ?
  114. A: You can't. There are some programs that can do it, but output files don't sound good. If you want to make some MIDIs, get a MIDI sequencer instead.
  115.  
  116. Q: Some DOOM MUS files sound different than those converted using WinTex (drums start to play a few seconds later). Why ?
  117. A: WinTex's converter sucks - it converts single-track MUS to multi-track MIDI (in order to optimize file size) and messes up track start time while doing this. Just run DOOM and compare...
  118.  
  119. Q: What do all these strange MIDI file processing options do ?
  120. A: Here's a (quick) explaination of some of them:
  121.  * "normalize volume" - scales MIDI channel volume values to fix those 'quiet' files; just a cheap hack, don't expect it to fix all files; it also removes LSB volume commands and some people won't like the way it sounds.
  122.  * "remove B9 00 XX / B9 20 XX" - removes instrument bank selection events from drums channel; they occur in some rare files and I have no idea what they are supposed to do (except for messing up drums on my SW60-XG); enabled by default
  123.  * "disable sysex commands" - removes hardware-specific commands from loaded files; fixes missing tracks in DirectMusic
  124.  * "fix missing DLS drum kits" - removes references to drum kits that can't be found in active DLS files; activate this if you can't hear drums in some songs under DirectMusic
  125.  * "fix missing DLS instruments" - automatically remaps istruments that can't be found in active DLS files; ultimate fix for problems with missing instruments under DirectMusic
  126.  
  127. Q: I experience very bad delays while starting playback. Why ?
  128. A: You are using Microsoft Synthesizer device (or something similar). Use your MIDI hardware instead. If you really have to use this thing, try disabling "always reinitialize port" in DirectMusic tab (it may have some really bad side effects, you have been warned).
  129.  
  130. Q: ....
  131. A: Go to forums.winamp.com and read Tech Support - Greatest Hits forum.
  132.  
  133.  
  134. Known problems:
  135. - Do not use any output plug-ins that can't receive data in real-time (MP3/WMA writers, etc). WAV writer plug-in works fine.
  136. - Do not use any DSP / output plug-ins that change playback time (pitch/tempo control, crossfaders, etc), except for the case when you use WAV writer output plug-in.
  137. - XMIs with embedded compressed DLS (MLS) are not supported and will be played like normal XMIs; decompress them and compress with zip or rar instead.
  138. - sysex events in XMI are NOT supported, because of big mess in XMI format (attempting to read sysex would break a lot of old game files)
  139. - MIDI Mapper / MCI device uses buggy Microsoft's Media Control Interface. It is strongly recommended that you activate it only if nothing else works. It does really bad things if Winamp process priority class is set to high or realtime.
  140. - Old version of ZIP format (v1.x) is not supported.
  141. - XMI looping is not supported yet...
  142. - In midiStream mode loop count is decremented every time when end of song gets buffered; if you use seeking, the song might not loop less times than specified in config.
  143.  
  144. Micro$oft's bugs found during development (Bill, please read):
  145. - IDirectMusicLoader doesn't get some of RMI files bundled with Win95 (happens with DX6.1; I didn't feel like checking this with DX7 and 8)
  146. - MS synth doesn't reset some controllers correctly between songs (DX678)
  147. - MS synth occasionally forgets channel volume values when I send PMSGs directly to the performance (DX8, older ones probably too); FYI other drivers work perfectly. Check DirectMusic immediate mode.
  148. - MS synth messes with files that contain XG sysex events (DX678) - I've seen some BS in the manual about it, but it isn't a real explaination.
  149. - midiStream multithread safety is totally screwed up (happens in all versions of Win9x/ME)
  150. - MCI hates high process priority class (all win9x)
  151. - IDirectMusicSegment::SetStartPoint() precision.....(no comments)
  152. - There are some MIDI files that use two drum kits simultaneously and constantly switch between them. One of my friends reported that it took several minutes to download one of these files to the performance. Geez.... (DX7, dunno about other versions).
  153. :-p
  154.  
  155.  
  156. Changes since v2.0:
  157. - tons of tweaks / fixes
  158. - new midiOut driver
  159. - new about box :-)
  160. Changes since v2.1/v2.11:
  161. - option to disable midiOutReset() commands (fixes evil behaviors on OPL3 hardware)
  162. - new controller / instrument change logic in midiOut mode
  163. - option to send sampled data to output
  164. - new MS synth output code (faster, no more skipping)
  165. - removed buggy midiOut streamed mode and MCI support
  166. Changes since v2.2:
  167. - new device selection / configuration logic
  168. - MCI driver is back
  169. Changes since v2.3:
  170. - new game music file formats: GMD and MIDS
  171. - support for sysex MIDI messages
  172. - new looping options
  173. Changes since v2.31:
  174. - new volume control logic
  175. - improved handling of damaged MIDI files
  176. - option to play in mono
  177. - fixed bugs in MIDS support
  178. Changes since v2.32:
  179. - fixed bugs in panning code
  180. Changes since v2.33 (Winamp v2.71):
  181. - fixed memory leaks in MIDI loader
  182. - fixed $#! bugs in sysex code (FINALLY got Yamaha SW60-XG; hello to all M$-$ynth-haters)
  183. - download support works again
  184. Changes since v2.34:
  185. - misc fixes related to hardware-specific stuff
  186. - added 'normalize volume' option
  187. - configurable XG/GM reset on start / stop
  188. - configurable thread priority
  189. - option to disable sysex commands
  190. - new 'safe' MCI mode
  191. Changes since v2.35:
  192. - sysex commands are _finally_ working correctly
  193. - disabled looping for all DirectMusic devices due to heavy bugs in M$ code
  194. - new midiOut code (streamed mode)
  195. - new config dialog
  196. - MIDI hardware setup
  197. - no more read_file.dll startup crashes
  198. Changes since v2.4 (Winamp v2.72):
  199. - holy war against evil CRT library (smaller and faster dlls, reduced resource usage)
  200. - DirectMusic immediate mode (experimental)
  201. - reduced MS synth hack section (enable GM reset on stop...)
  202. - DirectMusic looping is back (works perfectly in immediate mode)
  203. - automatic mixer config to make midi2wav people happy
  204. - priority doesn't affect midistream to make winmm.dll happy
  205. - MIDI control panel for MO/DM immediate mode (tempo control, channel volumes, etc)
  206. - changed name to "Winamp2 MIDI plug-in" for all versions (will change to Winamp3 soon :) - there is no other MIDI plug-in now; high time to stop pretending that it is a DirectMusic-based player
  207. - 'always reinitialize port' option (on by default, disable to emulate old versions) - slower loading / less bugs
  208. - new volume control logic to make newbies happy and give geeks new toy to mess with; hello to all SB64 owners :-)
  209. - some fixes in midisteam
  210. Changes since v2.5 (Winamp v2.73 pre-release):
  211. - incomplete MIDI file recovery (standard MIDI only)
  212. - cleaned up game music format converters
  213. - tweaked sampling code
  214. - misc cleanups in midistream
  215. - fixed format 2 MIDI files; GMD support now works correctly
  216. Changes since v2.51
  217. - some new fixes in midistream - seems to shut up last crashes related to startup / end sysex messages
  218. - complete workaround for missing drum kits under DirectMusic
  219. - new midiStream seeking logic - if you don't like it, activate 'quick midiStream seeking' in misc tab
  220. - removed crappy MCI safe mode
  221. Changes since v2.52
  222. - more file processing options (some of them were permanently enabled in previous versions)
  223. - ultimate fix for all missing DLS instruments
  224. Changes since v2.53:
  225. - fixed $tupid a$$ M$VC5 me$$up with saving plug-in configuration
  226. - tweaked WA2 output code - waveOut works much better now
  227. - option to do immediate midiOutReset from config window - useful for shutting up Adlib after abnormal termination of some old DOS game
  228. - midiOut volume reset from device tab now affects only currently selected device
  229. - cleaned up file loading - some evil files might load noticeably faster
  230. Changes since v2.54:
  231. - added separate DSP/output options with sampling - now you can shoutcast without messing with output plug-ins
  232. - should shut up people complaining about midi info "locking up" main Winamp window
  233. - option to show fist track text as song title
  234. - better file cache (no more cache size limit) - if you are bad enough, you can force the plug-in to load all of your MIDI files to memory and work without file access at all
  235. Changes since v2.55:
  236. - cache viewer
  237. - better sampling config
  238. - delayed init - lower resource usage when you don't play MIDIs
  239. - RMI info viewer/editor
  240.  
  241.  
  242. Thanks to:
  243. snailrush
  244. Justin Frankel
  245. Alwyn Balingit
  246. Valery V. Anisimovsky
  247. Victor Grinenko
  248. Chris Pouskidis
  249. Maan M. Hamze
  250. Winsane
  251. Boguslaw Krzysztoforski
  252. Piet Lambrechts
  253. wotsit.org
  254.  
  255. Special thanks to ZeroKnightRaiden ;-)
  256.  
  257.  
  258. No thanks to:
  259. Bill Gates
  260. Winamp.com plug-in reviewer :-p